package com.xujc.ui;

import com.xujc.Global;
import com.xujc.base.Student;
import com.xujc.listener.StuListener;
import com.xujc.listener.addStuListener;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MainJFrame extends JFrame {

    //使用构造方法将所有的设置一次性设置好
    public MainJFrame(){

        init();

        setMenuBar();

        setVisible(true);//设置窗口可见
    }

    private void setMenuBar() {
        //初始化菜单栏
        JMenuBar jMenuBar=new JMenuBar();

        //设置“关于我们”栏
        JMenu aboutMenu=new JMenu("关于我们");
        JMenuItem contactItem=new JMenuItem("微信公众号");//创建“微信公众号”选项
        contactItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                MainJFrame mainJFrame= Global.inintMainJFrame();
                JLabel jLabel_gongzhonghao=new JLabel();
                ImageIcon erweima=new ImageIcon("erweima.png");
                jLabel_gongzhonghao.setIcon(erweima);//将图片设置到JLabel
                JPanel panel=new JPanel();//添加容器，使得布局合理
                panel.add(jLabel_gongzhonghao);
                mainJFrame.add(panel);
            }


        });
        aboutMenu.add(contactItem);  //添加到aboutMenu


        JMenu stuMenu=new JMenu("学生信息");
        JMenuItem showStuItem=new JMenuItem("查看所有信息");
        showStuItem.addActionListener(new StuListener()); //设置点击事件


       //“增加学生信息”选项
        JMenuItem addStuItem=new JMenuItem("增加学生信息");
        addStuItem.addActionListener(new addStuListener());

        //“搜索学生信息”选项
        JMenuItem searchStuItem=new JMenuItem("搜索学生信息");
        searchStuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                MainJFrame mainJFrame=Global.inintMainJFrame();
                JTextField addName=new JTextField("输入姓名");
                JButton jButton=new JButton("搜索");
                //“搜索”具体实现
                jButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        System.out.println("搜索学生信息中。。。。");
                        //搜索后并展示
                        Student s=null;
                        s=Global.infoManager.findStudentByName(addName.getText());
                        JTextField jTextField=new JTextField(s.returnInfo());
                        jTextField.setBounds(200,200,200,50);
                        JPanel jPanel=new JPanel();
                        jPanel.setLayout(null);//将布局管理器设置为 null 时，组件的位置和大小将不再由布局管理器自动管理，而是通过手动设置组件的位置和大小来实现。
                        jPanel.add(jTextField);
                        mainJFrame.add(jPanel);
                        mainJFrame.revalidate();
                    }
                });
                JPanel jPanel=new JPanel();
                jPanel.add(addName);
                jPanel.add(jButton);
                mainJFrame.add(jPanel);

            }
        });

        //“修改学生信息”选项
        JMenuItem updateStuItem=new JMenuItem("修改学生信息");
        updateStuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //搜索要修改的学生
                MainJFrame mainJFrame=Global.inintMainJFrame();
                System.out.println("如果您已经学习至此，请结合查找和增加学生信息部分自行实现此功能！");
                JTextField jTextField=new JTextField("如果您已经学习至此，请结合查找和增加学生信息部分自行实现此功能！");
                mainJFrame.add(jTextField);
                mainJFrame.revalidate();//刷新window
            }
        });






        JMenuItem deleteStuItem=new JMenuItem("删除学生信息");
        deleteStuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //搜索要修改的学生
                MainJFrame mainJFrame=Global.inintMainJFrame();
                System.out.println("如果您已经学习至此，请结合查找和增加学生信息部分自行实现此功能！");
                JTextField jTextField=new JTextField("如果您已经学习至此，请结合查找和增加学生信息部分自行实现此功能！");
                mainJFrame.add(jTextField);
                mainJFrame.revalidate();//刷新window
            }
        });
        //将以上子选项全部添加
        stuMenu.add(showStuItem);
        stuMenu.add(addStuItem);
        stuMenu.add(searchStuItem);
        stuMenu.add(updateStuItem);
        stuMenu.add(deleteStuItem);

        JMenu teaMenu = new JMenu("教师信息（功能均未实现）");
        JMenuItem showTeaItem = new JMenuItem("查看所有信息");
        JMenuItem addTeaItem = new JMenuItem("增加教师信息");
        JMenuItem searchTeaItem = new JMenuItem("搜索教师信息");
        JMenuItem updateTeaItem = new JMenuItem("修改教师信息");
        JMenuItem deleteTeaItem = new JMenuItem("删除教师信息");
        //将以上子选项全部添加
        teaMenu.add(showTeaItem);
        teaMenu.add(addTeaItem);
        teaMenu.add(searchTeaItem);
        teaMenu.add(updateTeaItem);
        teaMenu.add(deleteTeaItem);

        //将菜单选项添加到菜单栏
        jMenuBar.add(teaMenu);
        jMenuBar.add(stuMenu);
        jMenuBar.add(aboutMenu);
        //将菜单栏添加到主界面
        this.setJMenuBar(jMenuBar);

    }

    private void init() {
        setSize(600,500);//设置大小
        setTitle("信息管理系统");
        setAlwaysOnTop(true);//界面置顶
        setLocationRelativeTo(null);//设置界面居中
        setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭模式：用户点击一个窗口，立即关闭程序
    }
}
